iT邦幫忙

2022 iThome 鐵人賽

DAY 19
0
Software Development

被容器束縛住的小宇宙系列 第 19

Day19 Kubernetes 的基本單位 -- Pod

  • 分享至 

  • xImage
  •  

Kubernetes 已經介紹了那麼久,到了今天才要正式介紹我們 K8s 的基本單位 -- Pod,雖然可能遲了一點,但我相信永遠不會太晚!且從原本看介紹Kubernetes 到今天的讀者可能對於 Pod 這個東西可能也不會太陌生,因為前幾天也都有大概提到,所以相信各位應該可以更好懂 Pod 是什麼東西。

那我們就不在贅述了,開始我們今天的主題吧!

什麼是Pod?

相信看到今天的讀者們都大概知道 Pod 是在 k8s 最基本的組成單位,而他又有另一個名字叫做小豆莢,而為什麼會有這名字呢?這就牽扯到每個 Pod 的特性了,我們都知道 Docker 跟 Kubernetes 都是容器化的服務,但 一個 Pod 裡面又是以一到多個容器所組成,也是因為這樣所以才有小豆莢這名字,裡面的莢果指的是各個容器,而最外面的豆莢指的是 Pod 本身。

也因為 Pod 這運作的機制,因此每個 Pod 都有以下這些特性:

  • 包含一到多個 Container
  • Container 共享相同的 Network Namespace 與 IP Address。

也就是說 Container 之間可以透過 Localhost + Port 互相聯絡

  • 所有Containers共享著Volumes 及檔案系統,能透過這種方式彼此間溝通。
  • 在同一個 Pod 中的 Container 總是被同時調度且有共同的運行環境。

Pod 的生命週期

Pod 跟 Docker 的 Container 一樣也有相對的生命週期, Pod 遵循著一個預定義的生命週期,起始於 Pending 階段,如果其中至少有一個主要容器正常啟動的話,則會進入Running,之後的狀態取決於賦予 Pod 中 Container 的任務成功與否,進入 Succeeded 或者 Failed 階段。

Value Describe
Pending(懸決) Pod 已被 K8s 系統接受,但有容器尚未創建所以無法運行
Running運行中) Pod 已經綁定到了某個節點,且所有的容器都已被創建。
Succeeded(成功) Pod 中的所有容器都已成功終止,並且不會再重啟。
Failed(失敗) 所有容器都已終止,且至少有一個容器是因為失敗終止。
Unknown(未知) 因為某些原因無法取得Pod 的狀態。

那今天就大概跟各位介紹到這邊,明天會教大家一些實作 Pod 的方法!

大家明天見!


上一篇
Day18 Cluster 管理大師--Kubeadm
下一篇
Day20 Pod實作
系列文
被容器束縛住的小宇宙30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言